/*
 * $Id: Listenable.h,v 1.3 2005-12-25 07:11:46 bacon Exp $
 */

#ifndef _XPP_NET_LISTENABLE_CLASS_
#define _XPP_NET_LISTENABLE_CLASS_

#include <xpp/net/Address.h>
#include <xpp/net/Socket.h>

namespace xpp
{
	namespace net
	{

		class Listenable
		{
		public:
			virtual ~Listenable () {}
			virtual int listen (int backlog) = 0;

			virtual Socket* accept (
				Socket* peer_sck, Address* peer_adr) = 0;
			virtual int drop () = 0;
		};

	}
}

#endif
